<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>v_hdmitx: xv_hdmitx_intr.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">v_hdmitx
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xv__hdmitx__intr_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xv_hdmitx_intr.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains interrupt related functions for Xilinx HDMI TX core. </p>
<p>Please see <a class="el" href="xv__hdmitx_8h.html" title="This is the main header file for Xilinx HDMI TX core. ">xv_hdmitx.h</a> for more details of the driver.</p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who    Date     Changes
</p>
<hr/>
<p>
1.00         10/07/15 Initial release.
1.1   YH     18/08/16 squash unused variable compiler warning
1.2   YH     16/01/18 Added bridge unlock interrupt
1.3   MMO    11/08/18 Added bridge overflow and underflow interrupt
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a25e91176ce93f223449dcb56c375ac51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__hdmitx__intr_8c.html#a25e91176ce93f223449dcb56c375ac51">XV_HdmiTx_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a25e91176ce93f223449dcb56c375ac51"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the interrupt handler for the HDMI TX driver.  <a href="#a25e91176ce93f223449dcb56c375ac51">More...</a><br/></td></tr>
<tr class="separator:a25e91176ce93f223449dcb56c375ac51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d2e73cdff6d7aeb5aaf3d2520b0df6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__hdmitx__intr_8c.html#ad5d2e73cdff6d7aeb5aaf3d2520b0df6">XV_HdmiTx_SetCallback</a> (<a class="el" href="struct_x_v___hdmi_tx.html">XV_HdmiTx</a> *InstancePtr, <a class="el" href="xv__hdmitx_8h.html#a13f3db95069a268ab390dd4102604fb2">XV_HdmiTx_HandlerType</a> HandlerType, void *CallbackFunc, void *CallbackRef)</td></tr>
<tr class="memdesc:ad5d2e73cdff6d7aeb5aaf3d2520b0df6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function installs an asynchronous callback function for the given HandlerType:  <a href="#ad5d2e73cdff6d7aeb5aaf3d2520b0df6">More...</a><br/></td></tr>
<tr class="separator:ad5d2e73cdff6d7aeb5aaf3d2520b0df6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a25e91176ce93f223449dcb56c375ac51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XV_HdmiTx_IntrHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the interrupt handler for the HDMI TX driver. </p>
<p>This handler reads the pending interrupt from PIO and DDC peripheral, determines the source of the interrupts, clears the interrupts and calls callbacks accordingly.</p>
<p>The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <a class="el" href="xv__hdmitx_8h.html#ad5d2e73cdff6d7aeb5aaf3d2520b0df6" title="This function installs an asynchronous callback function for the given HandlerType: ...">XV_HdmiTx_SetCallback()</a> during initialization phase. An example delivered with this driver demonstrates how this could be done.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_v___hdmi_tx.html" title="The XV_HdmiTx driver instance data. ">XV_HdmiTx</a> instance that just interrupted.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_v___hdmi_tx___config.html#aed2a0eebe95b28c31ac48848df2a32bc">XV_HdmiTx_Config::BaseAddress</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a7c08db92f62ad7f28dfdfac3561978db">XV_HdmiTx::Config</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a7e506f0c45644cae05d5bf9839c8d7ee">XV_HdmiTx::IsReady</a>, <a class="el" href="xv__hdmitx__hw_8h.html#aed853aca89756ea743e083e7573d1617">XV_HDMITX_DDC_STA_IRQ_MASK</a>, <a class="el" href="xv__hdmitx__hw_8h.html#add689faff8e7c346c9d8202355678a22">XV_HDMITX_DDC_STA_OFFSET</a>, <a class="el" href="xv__hdmitx__hw_8h.html#aa8c178b5851211ca5b20faee275a73f8">XV_HDMITX_PIO_STA_IRQ_MASK</a>, <a class="el" href="xv__hdmitx__hw_8h.html#a9374a3f25d4d9c91c02d383d66443b4b">XV_HDMITX_PIO_STA_OFFSET</a>, and <a class="el" href="xv__hdmitx__hw_8h.html#a41b837de9bdbba60a15baa46362dd851">XV_HdmiTx_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="ad5d2e73cdff6d7aeb5aaf3d2520b0df6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XV_HdmiTx_SetCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___hdmi_tx.html">XV_HdmiTx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xv__hdmitx_8h.html#a13f3db95069a268ab390dd4102604fb2">XV_HdmiTx_HandlerType</a>&#160;</td>
          <td class="paramname"><em>HandlerType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function installs an asynchronous callback function for the given HandlerType: </p>
<pre>
HandlerType              Callback Function Type
-----------------------  --------------------------------------------------
(XV_HDMITX_HANDLER_HPD)   HpdCallback
(XV_HDMITX_HANDLER_VS)    VsCallback
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the HDMI TX core instance. </td></tr>
    <tr><td class="paramname">HandlerType</td><td>specifies the type of handler. </td></tr>
    <tr><td class="paramname">CallbackFunc</td><td>is the address of the callback function. </td></tr>
    <tr><td class="paramname">CallbackRef</td><td>is a user data item that will be passed to the callback function when it is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if callback function installed successfully.</li>
<li>XST_INVALID_PARAM when HandlerType is invalid.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Invoking this function for a handler that already has been installed replaces it with the new handler. </dd></dl>

<p>References <a class="el" href="struct_x_v___hdmi_tx.html#acba0f95fd62275caa84815d705becb23">XV_HdmiTx::BrdgOverflowCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#add75a74c0d9feba1f3d1bee77765a931">XV_HdmiTx::BrdgOverflowRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a138a54e6a18f55252326a98b02dc2228">XV_HdmiTx::BrdgUnderflowCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#ae8fc52bf635029197d71ca9d778e5edb">XV_HdmiTx::BrdgUnderflowRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#ac80e8b35a5b37348606520f5d2181126">XV_HdmiTx::BrdgUnlockedCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#abc2b373a46fe068019b69fd824ff4320">XV_HdmiTx::BrdgUnlockedRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#ac1656ae24732ed35b46c51b248fc8029">XV_HdmiTx::ConnectCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#ae6bf6e3c9a0da202976056f309b34925">XV_HdmiTx::ConnectRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a9b9ff3601359f9ea7851ff8dec7d7fcd">XV_HdmiTx::IsBrdgOverflowCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a3feb040339cfbcd69bc3036a9ac4a488">XV_HdmiTx::IsBrdgUnderflowCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#abaeb8d3a7cc7697002f093430a2fd78a">XV_HdmiTx::IsBrdgUnlockedCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#ab1ab5b027e47ec17879510b40b15bedf">XV_HdmiTx::IsConnectCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a1a62a8a0a74757a9468726b54b44c9d0">XV_HdmiTx::IsStreamDownCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a761a789d8b6e6717066ce4885072db4e">XV_HdmiTx::IsStreamUpCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#adb4b8a1df24a626f1cf25913cc83f61a">XV_HdmiTx::IsToggleCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a11fbdfcb6af81a314dd1d8f7288f0994">XV_HdmiTx::IsVsCallbackSet</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a6fabffd615560a4cf858905fa822f60a">XV_HdmiTx::StreamDownCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a07fbd05cdb052f44a88da14ada7d633e">XV_HdmiTx::StreamDownRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a862df69615a0455c7a92ecada71d6355">XV_HdmiTx::StreamUpCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a3ae9594da3e1adfc2ca2bba9ef92bf18">XV_HdmiTx::StreamUpRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a0692825d12d84e5cab2221960b2f49fd">XV_HdmiTx::ToggleCallback</a>, <a class="el" href="struct_x_v___hdmi_tx.html#a3816c7539f98496ccd9a8da0e283944d">XV_HdmiTx::ToggleRef</a>, <a class="el" href="struct_x_v___hdmi_tx.html#aefc2a05e2f9009cbddb1602c515cd933">XV_HdmiTx::VsCallback</a>, and <a class="el" href="struct_x_v___hdmi_tx.html#a8652fe2ea7b0e1cd785f08cac054188e">XV_HdmiTx::VsRef</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
